package com.example.basicdemo.model.domain;

import com.alibaba.fastjson.JSONObject;
import com.isyscore.os.dev.api.IsyscoreObject;

import java.util.List;

public class SysUserLDAPDomain implements IsyscoreObject {

    /**
     * 数据角色ID
     */
    private List<String> authIdList;

    /**
     * 用户自定义扩展标签信息。标签 key：不可为空，不可超过 30 个字符。支持中文、英文字母、数字和下划线 不可重复定义。标签 value：不可为空，不可超过 256个字符。
     */
    private Object colKeyVal;

    /**
     * 邮箱，不超过32位字符
     */
    private String email;

    /**
     * 登录名，2~18位字符，只能包含英文字母、数字、下划线
     */
    private String loginName;

    /**
     * 昵称，不超过32个字符
     */
    private String nickname;

    /**
     * 密码，5~18个字符
     */
    private String password;

    /**
     * 手机号，11个字符
     */
    private String phone;

    /**
     * 照片，照片文件在系统内存储路径
     */
    private String picture;

    /**
     * 组织ID
     */
    private List<String> rentalList;

    /**
     * 用户启用状态：ENABLE：启用状态，用户可登录到系统；DISABLE：禁用状态，用户不可登录到系统，若用户已登录将强制登出。
     */
    private String status;

    /**
     * 功能角色ID
     */
    private List<String> roleIdList;

    /**
     * 用户类别，不超过64个字符
     */
    private String userType;

    public List<String> getAuthIdList() {
        return authIdList;
    }

    public SysUserLDAPDomain setAuthIdList(List<String> authIdList) {
        this.authIdList = authIdList;
        return this;
    }

    public Object getColKeyVal() {
        return colKeyVal;
    }

    public SysUserLDAPDomain setColKeyVal(Object colKeyVal) {
        this.colKeyVal = colKeyVal;
        return this;
    }

    public String getEmail() {
        return email;
    }

    public SysUserLDAPDomain setEmail(String email) {
        this.email = email;
        return this;
    }

    public String getLoginName() {
        return loginName;
    }

    public SysUserLDAPDomain setLoginName(String loginName) {
        this.loginName = loginName;
        return this;
    }

    public String getNickname() {
        return nickname;
    }

    public SysUserLDAPDomain setNickname(String nickname) {
        this.nickname = nickname;
        return this;
    }

    public String getPassword() {
        return password;
    }

    public SysUserLDAPDomain setPassword(String password) {
        this.password = password;
        return this;
    }

    public String getPhone() {
        return phone;
    }

    public SysUserLDAPDomain setPhone(String phone) {
        this.phone = phone;
        return this;
    }

    public String getPicture() {
        return picture;
    }

    public SysUserLDAPDomain setPicture(String picture) {
        this.picture = picture;
        return this;
    }

    public List<String> getRentalList() {
        return rentalList;
    }

    public SysUserLDAPDomain setRentalList(List<String> rentalList) {
        this.rentalList = rentalList;
        return this;
    }

    public String getStatus() {
        return status;
    }

    public SysUserLDAPDomain setStatus(String status) {
        this.status = status;
        return this;
    }

    public List<String> getRoleIdList() {
        return roleIdList;
    }

    public SysUserLDAPDomain setRoleIdList(List<String> roleIdList) {
        this.roleIdList = roleIdList;
        return this;
    }

    public String getUserType() {
        return userType;
    }

    public SysUserLDAPDomain setUserType(String userType) {
        this.userType = userType;
        return this;
    }

    @Override
    public String toString() {
        return JSONObject.toJSONString(this);
    }
}
